////////////////////////////////////////////////////////////////////////////////

#ifndef _WEAPON_H_
#define _WEAPON_H_

////////////////////////////////////////////////////////////////////////////////

#include <cstring>

////////////////////////////////////////////////////////////////////////////////

/** Base class for all weapons
*
*  @author   Roman Pasechnik
*  @author   Anastasia Karpinska
*  @since    Nov 11th, 2009
*  @updated  Dec 09th, 2009
*/
class Weapon
{
////////////////////////////////////////////////////////////////////////////////

public:

////////////////////////////////////////////////////////////////////////////////


    /** Constructor */
    Weapon( size_t _reloadTime );


    /** Destructor */
    virtual ~Weapon();


////////////////////////////////////////////////////////////////////////////////


    /** Returns reload time */
    size_t GetReloadTime() const;


////////////////////////////////////////////////////////////////////////////////

private:

////////////////////////////////////////////////////////////////////////////////


    /** Reload time */
    size_t m_ReloadTime;


////////////////////////////////////////////////////////////////////////////////
};

////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////
